<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拷贝</title>
</head>
<body>
<script>
    /*
    浅拷贝:
      只拷贝一层，更深层次对象急别的只拷贝引用 (拷贝地址)
      Object.assign(拷贝对象，被拷贝对象);
    深拷贝：
       深拷贝拷贝多层，每一级别的数据都会拷贝 (新开辟空间)
       用函数递归
     */
    var obj={
        id:1,
        name:"andy",
        msg:{
            age:18
        }
    };
    var o={};
    function deepCopy(newobj,oldobj){
        for(var k in oldobj){
            var item=oldobj[k];
           if(item instanceof Array){
               newobj[k]=[];
               deepCopy(newobj[k],item)  //如果是数组，则递归 对数组进行遍历
           }else if (item instanceof Object){
               newobj[k]={};
               deepCopy(newobj[k],item)  //如果是对象，则递归 对对象进行遍历
           }else {
               newobj[k]=item;
           }
        }
    }
    deepCopy(o,obj);
</script>
</body>
</html>